package com.suray.wcs.service.system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.suray.wcs.service.system.entity.ScadaDB;
import com.suray.wcs.service.system.mapper.ScadaDBMapper;
import com.suray.wcs.service.system.service.IScadaDBService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class ScadaDBSerciceImpl extends ServiceImpl<ScadaDBMapper, ScadaDB> implements IScadaDBService {

    @Resource
    private ScadaDBMapper scadaDBMapper;

    @Override
    public boolean updateByRgvNo(ScadaDB scadaDB) {
        LambdaQueryWrapper<ScadaDB> eq = new QueryWrapper<ScadaDB>().lambda().eq(ScadaDB::getRgvNo, scadaDB.getRgvNo());
        Page<ScadaDB> page = new Page<>(1, 1);
        IPage<ScadaDB> iPage = scadaDBMapper.selectPage(page, eq);
        List<ScadaDB> scadaDBS = iPage.getRecords();
//        List<Taskdb> newTasks = this.list(eq);
        if (scadaDBS != null && scadaDBS.size() != 0) {
            scadaDB.setScadaId(scadaDBS.get(0).getScadaId());
            return updateById(scadaDB);
        } else {
            return save(scadaDB);
        }
    }

    @Override
    public ScadaDB getScadaDBByRgvNo(int rgvNo) {
        LambdaQueryWrapper<ScadaDB> eq = new QueryWrapper<ScadaDB>().lambda().eq(ScadaDB::getRgvNo, rgvNo);
        Page<ScadaDB> page = new Page<>(1, 1);
        IPage<ScadaDB> iPage = scadaDBMapper.selectPage(page, eq);
        List<ScadaDB> scadaDBS = iPage.getRecords();
//        List<Taskdb> newTasks = this.list(eq);
        if (scadaDBS != null && scadaDBS.size() != 0) {
            return scadaDBS.get(0);
        } else {
            return null;
        }
    }
}
